/**重置message，防止重复点击重复弹出message弹框 */
import { message } from 'ant-design-vue';

let messageInstance = null; //定义实例
function createMessage(messageType, options) { //定义一个创建实例message 的方法 resetMessage
  if (messageInstance) { //如果实例存在， 就删除实例
    message.destroy();
    messageInstance = null;
  }
  messageInstance = message[messageType](options) //重新创建实例
  return messageInstance;
};

let resetMessage = {
  /**
   * 成功
   * @param config
   */
  success(config) {
    return createMessage('success', config)
  },
  /**
   * 报错
   * @param config
   */
  error(config) {
    return createMessage('error', config)
  },
  /**
   * 详情
   * @param config
   */
  info(config) {
    return createMessage('info', config)
  },
  /**
   * 警告
   * @param config
   */
  warning(config) {
    return createMessage('warning', config)
  },

  /**
   * 警告
   * @param config
   */
  warn(config) {
    return createMessage('warn', config)
  },
  /**
   * 加载
   * @param config
   */
  loading(config) {
    return createMessage('loading', config)
  },

}

export default resetMessage;